/**
 * Created by PanJiaChen on 16/11/18.
 */
/**
 * @param {string} 验证手机号码或电话号码
 * @returns {Boolean}
 */
export function validTel (val) {
  var pattern = /(^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$)|(^0{0,1}1[3|4|5|6|7|8|9][0-9]{9}$)/
  if (pattern.test(val)) {
    return true
  } else {
    return false
  }
}

/**
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal (path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * @param {string} str
 * @returns {Boolean}
 */
export function validUsername (str) {
  const valid_map = ['admin', 'editor']
  return valid_map.indexOf(str.trim()) >= 0
}

/**
 * 验证数字
 */
export function validNum (num) {
  var reg = /\b[0-9]\b|([0-9]\d+)/
  return reg.test(num)
}
/**
 * 验证输入框只输入数字以及小数不可以输入e
 */
export function validDecimal (val) {
  var reg = /[\d\.]/
  return reg.test(String.fromCharCode(event.keyCode))
}
/**
* 电话验证（包括手机号和带区号座机号码验证）
*/
export function isvalidatePhone (rule, value, callback) {
  const reg = /^(((0\d{2,3}-{0,1}){0,1}\d{7,8})|1[3-9]\d{9})$/
  if (value !== null && value !== undefined && value !== '' && !reg.test(value)) {
    callback(new Error('请输入正确的电话号码'))
  } else {
    callback()
  }
}
/*
* 整数 首位非 0
*/
export function validateNonZero (rule, value, callback) {
  const reg = /^[1-9][0-9]*$/g
  if (value !== null && value !== undefined && value !== '' && !reg.test(value)) {
    callback(new Error('请输入正确的首位非0的整数'))
  } else {
    callback()
  }
}
